BugĀ 592901 - Crash in JPEG pixbuf loader instead of error
authorChristian Dywan <christian@lanedo.com>
Tue, 25 Aug 2009 09:58:30 +0000 (11:58 +0200)
committerChristian Dywan <christian@twotoasts.de>
Tue, 25 Aug 2009 10:01:54 +0000 (12:01 +0200)
Initialize the error structure early enough to ensure that it
propagates properly in the case of an error. Patch by Nokia.

gdk-pixbuf/io-jpeg.c

index cf8c9ed19506d2500c9b79e207e22779969c5140..680a209041326db314335d0c250c38c2cabb9010 100644 (file)
@@ -468,7 +468,6 @@ gdk_pixbuf__jpeg_image_load (FILE *f, GError **error)
        cinfo.err = jpeg_std_error (&jerr.pub);
        jerr.pub.error_exit = fatal_error_handler;
         jerr.pub.output_message = output_message_handler;
-
         jerr.error = error;
         
        if (sigsetjmp (jerr.setjmp_buffer, 1)) {
@@ -1190,11 +1189,11 @@ real_save_jpeg (GdkPixbuf          *pixbuf,
        }
 
        /* set up error handling */
+       cinfo.err = jpeg_std_error (&(jerr.pub));
        jerr.pub.error_exit = fatal_error_handler;
        jerr.pub.output_message = output_message_handler;
        jerr.error = error;
        
-       cinfo.err = jpeg_std_error (&(jerr.pub));
        if (sigsetjmp (jerr.setjmp_buffer, 1)) {
                jpeg_destroy_compress (&cinfo);
                g_free (buf);